package cn.sanch.user.mapper;

import cn.sanch.system.domain.Menu;
import cn.sanch.user.domain.Logininfo;
import cn.sanch.basic.mapper.BaseMapper;
import cn.sanch.user.dto.LoginDto;

import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author Sanch
 * @since 2022-06-01
 */
public interface LogininfoMapper extends BaseMapper<Logininfo> {

    /**
     * 通过登录信息查找登录对象 - 账号、电话、邮箱登录都可以
     * @param loginDto
     * @return
     */
    Logininfo loadByAccount(LoginDto loginDto);

    /**
     * 微信扫码登录 - 通过wxuser对象的userId查找Logininfo对象
     * @param userId
     * @return
     */
    Logininfo loadLogininfoByUserId(Long userId);

    /**
     * 通过登录对象查找该对象的所有权限
     * @param id
     * @return
     */
    List<String> loadPermissionByLogininfoId(Long id);

    /**
     * 通过登录对象查找该对象的所有菜单
     * @param id
     * @return
     */
    List<Menu> loadMenuByLogininfoId(Long id);
}
